| ..:: Menu ::.. | ..:: Lekcja 4: Podstawy Object Pascala część: 4 ::.. | ..::Info i Reklamy::.. |
|
Strona Główna Kursy DELPHI Kursy C++ Linki Forum Download Seriale Humor Reklama O autorze |
Instrukcja caseInstrukcja case jest w działaniu podobna do instrukcji if. Wymyślił ją pewnie ktoś komu nie chciało się pisać tyle razy if. Stosujemy ją bowiem wtedy kiedy mamy dużo warunków if.var Liczba: Integer; sText : String; begin Randomize; // uruchamiamy bęben losujący :) Liczba := Random(20); // losuj z zakresu 20 case Liczba of 1: sText := 'Wylosowałeś 1!'; 10: sText := 'Sam środek!'; 19: sText := 'Sam koniec'; end; end. Budowa instrukcji case jest także specyficzna. Najpierw słowo kluczowe case, później zmienna, która będzie porównywana, a na końcu słowo of. Później wartości zmiennej "Liczba". Np. jeżeli wylosowana zostanie 1 to potem średnik. Następnie chcemy, aby do zmiennej sText przypisać jakiś tekst. Itd. W instrukcji case możesz także wykorzystać instrukcję else: case Liczba of 1: sText := 'Wylosowałeś 1!'; 10: sText := 'Sam środek!'; 19: sText := 'Sam koniec'; else sText := 'Eeee, już nic.'; end; Tak jak w przypadku instrukcji if jeżeli masz dwie linie komend musisz wszystko wziąć pomiędzy blok begin i end: case Liczba of 1: begin { będą dwie linie - trzeba użyć słowa begin } sText := 'Wylosowałeś 1!'; Liczba := 2; end; { koniec całego bloku } { ... } end; Instrukcja case ma jeszcze jedną zaletę. Można w niej określić wartość od do - spójrz: case Liczba of 1..10: sText := 'Wylosowałeś liczbe od 1 do 10!'; 11..20: sText := 'Sam środek!'; 21..40: sText := 'Sam koniec'; end; Rozumiesz? Tekst "Sam koniec" zostanie wyświetlony wtedy, gdy zmienna Liczba będzie wartości od 21 do 40. TypyNowe typy danych można w programie rejestrować stosując słowo kluczowe type. Np.:type TPartie = (ppSLD, ppSamoobrona, ppPO, ppPiS); Można również deklarować typy liczbowe: type NowyTyp = 0..20; W tym wypadku zmienna korzystająca z tego typu może mieć wartość od 0 do 20. Tak, teraz możemy normalnie korzystać z tego typu: var NT : NowyTyp; No, i wszystko jasne.. Napiszmy teraz przykładowy program korzystający z typów. Oto cała treść programu - przyjrzyj mu się, a ja zaraz go opiszę: { Copyright (c) 2001 - Adam Boduch } program typy; uses Windows; type TPartie = (ppSLD, ppSamoobrona, ppPO, ppPiS); var sText : PChar; Wybory : TPartie; begin Randomize; // uruchamiamy bęben losujący :) Wybory := TPartie(Random(4)); case Wybory of ppSLD: sText := 'Sebastian Florek pomógł! Miler się cieszy'; ppSamoobrona: sText := 'Idziemy blokować drogi! Lepper na prezydenta!'; PPPO : sText := 'Nie finansować partii z budżetu państwa!'; ppPiS : sText := 'Przywrócić karę śmierci!'; end; MessageBox(0, sText, 'Wybory 2001', MB_OK); end. Co my tu mamy... Zadeklarowałem nowy typ TPartie ( reguła nakazuje, aby nowy typ nazywać od litery T ). Później utworzyłem zmienną do tego typu i nazwałem ją Wybory. Następnie do zmiennej Wybory przypisana zostaje losowa wartość ( albo ppSLD, albo ppSamoobrona, ppPo lub ppPiS ). Zwróć uwagę na specyficzny zapis procedury losowania: Wybory := TPartie(Random(4)); Losujemy spośród czterech bo tyle mamy partii. To co tutaj użyłem nazywa się rzutowaniem. O rzutowaniu będzie mowa później. Na razie powiem, że jest to sposób na oszukanie kompilatora. Idziemy dalej: następnie w zależności od wylosowanej partii do zmiennej sText zostaje przypisany odpowiedni tekst. Następnie ten tekst zostaje wyświetlony w oknie. <--- Wstecz | Dalej ---> |
Reklama To miejsce czeka na twoją reklame. Więcej informacji w dziale Reklama |